from types import MappingProxyType

# 支出分类定义 - 详细版本
EXPENSE_CATEGORIES = MappingProxyType({
    "食品酒水": MappingProxyType({
        "餐饮": ("早餐", "午餐", "晚餐", "外卖", "快餐", "餐厅"),
        "食材": ("蔬菜", "水果", "肉类", "水产", "蛋奶", "粮油", "调味品"),
        "零食饮料": ("零食", "饮料", "咖啡", "茶饮", "甜品", "冰淇淋"),
        "烟酒": ("香烟", "白酒", "啤酒", "红酒", "其他酒类")
    }),
    "居家物业": MappingProxyType({
        "房租房贷": ("房租", "房贷"),
        "水电物业": ("水费", "电费", "燃气费", "物业费", "取暖费"),
        "家居用品": ("家具", "家电", "厨具", "清洁用品", "收纳用品"),
        "维修保养": ("房屋维修", "电器维修", "管道维修")
    }),
    "交通出行": MappingProxyType({
        "公共交通": ("公交", "地铁", "出租车", "网约车", "共享单车"),
        "私家车": ("加油", "停车费", "洗车", "保养", "保险", "年检"),
        "长途交通": ("火车", "飞机", "长途汽车", "船票"),
        "车辆相关": ("购车", "车牌", "车辆装饰")
    }),
    "衣服饰品": MappingProxyType({
        "服装": ("上衣", "裤子", "裙子", "外套", "内衣", "睡衣"),
        "鞋帽": ("鞋子", "帽子", "袜子", "围巾"),
        "饰品": ("首饰", "手表", "眼镜", "皮带", "包包"),
        "化妆品": ("护肤品", "化妆品", "香水", "美发用品")
    }),
    "休闲娱乐": MappingProxyType({
        "娱乐活动": ("电影", "KTV", "游乐场", "演出", "展览"),
        "旅游度假": ("住宿", "景点门票", "旅游团费", "导游费"),
        "运动健身": ("健身房", "瑜伽", "游泳", "球类运动", "运动装备"),
        "聚会社交": ("朋友聚会", "家庭聚餐", "商务宴请", "约会")
    }),
    "学习进修": MappingProxyType({
        "书籍资料": ("图书", "杂志", "电子书", "学习资料"),
        "教育培训": ("学费", "培训费", "考证费", "辅导班"),
        "文具器材": ("文具", "电脑", "平板", "学习软件")
    }),
    "医疗保健": MappingProxyType({
        "看病买药": ("门诊费", "药费", "检查费", "手术费"),
        "保健养生": ("保健品", "体检", "理疗", "按摩"),
        "运动健康": ("健身卡", "运动装备", "健康食品")
    }),
    "人情往来": MappingProxyType({
        "礼物": ("生日礼物", "节日礼物", "结婚礼物", "纪念日礼物"),
        "红包": ("现金红包", "微信红包", "支付宝红包"),
        "请客": ("请朋友", "请同事", "请家人", "商务请客"),
        "捐赠": ("慈善捐款", "物品捐赠", "众筹支持")
    }),
    "其他支出": MappingProxyType({
        "其他": ("意外支出", "未分类支出", "手续费")
    })
})

INCOME_CATEGORIES = MappingProxyType({
    "职业收入": MappingProxyType({
        "工资": ("基本工资", "绩效工资", "年终奖", "津贴"),
        "奖金": ("项目奖金", "销售提成", "季度奖金"),
        "兼职": ("兼职收入", "自由职业", "咨询服务")
    }),
    "投资理财": MappingProxyType({
        "投资收益": ("股票", "基金", "理财产品", "外汇"),
        "利息收入": ("存款利息", "债券利息", "P2P利息"),
        "租金收入": ("房屋租金", "设备租金", "场地租金")
    }),
    "其他收入": MappingProxyType({
        "退款": ("购物退款", "服务退款", "违约金"),
        "红包": ("微信红包", "支付宝红包", "现金红包"),
        "其他": ("中奖", "捡到钱", "二手出售")
    })
})